package lu.med.praxiswahl.wahlumed.client.patienten;

import lu.med.praxiswahl.wahlumed.client.utilities.Parser;

/**
 * 
 * @author Lars Holger Roth
 */
public class PatientDataset
{
    private String versicherungsnummer;
    private String[] nachname = new String[3];
    private String[] nachnameEhemann = new String[3];
    private String vorname;
    private String vornameEhemann;
    private String geburtsdatumEhemann;
    private String geburtsdatum;
    private String mutterVater;
    private String arbeitgeber;
    private String arbeitgeberTel;
    private String privatFax;
    private String privatTel;
    private String privatEMail;
    private String privatAnschrift;
    private String privatGSM;
    private String privatPLZ;
    private String privatOrt;
    private String notizen;
    private String besonderheiten;
    // Verlinkte Dateien beginnen mit der Matricule des Patienten
    private String sprachen;

    // GER#ENG#ITA usw

    public PatientDataset()
    {
    }

    public PatientDataset(PatientDataset d)
    {
	// Klon Konstruktor
	versicherungsnummer = d.getVersicherungsnummer();
	nachname[0] = d.getNachname()[0];
	nachname[1] = d.getNachname()[1];
	nachname[2] = d.getNachname()[2];
	nachnameEhemann[0] = d.getNachnameEhemann()[0];
	nachnameEhemann[1] = d.getNachnameEhemann()[1];
	nachnameEhemann[2] = d.getNachnameEhemann()[2];
	vorname = d.getVorname();
	vornameEhemann = d.getVornameEhemann();
	geburtsdatumEhemann = d.getGeburtsdatumEhemann();
	geburtsdatum = d.getGeburtsdatum();
	mutterVater = d.getMutterVater();
	arbeitgeber = d.getArbeitgeber();
	arbeitgeberTel = d.getArbeitgeberTel();
	privatFax = d.getPrivatFax();
	privatTel = d.getPrivatTel();
	privatEMail = d.getPrivatEMail();
	privatAnschrift = d.getPrivatAnschrift();
	privatGSM = d.getPrivatGSM();
	privatPLZ = d.getPrivatPLZ();
	privatOrt = d.getPrivatOrt();
	notizen = d.getNotizen();
	besonderheiten = d.getBesonderheiten();
	sprachen = d.getSprachen();
    }

    public PatientDataset(String com)
    {
	String[] tok = Parser.parseString(com);

	versicherungsnummer = tok[0];
	nachname[0] = tok[1];
	nachname[1] = tok[2];
	nachname[2] = tok[3];
	nachnameEhemann[0] = tok[4];
	nachnameEhemann[1] = tok[5];
	nachnameEhemann[2] = tok[6];
	vorname = tok[7];
	vornameEhemann = tok[8];
	geburtsdatumEhemann = tok[9];
	geburtsdatum = tok[10];
	mutterVater = tok[11];
	arbeitgeber = tok[12];
	arbeitgeberTel = tok[13];
	privatFax = tok[14];
	privatTel = tok[15];
	privatEMail = tok[16];
	privatAnschrift = tok[17];
	privatGSM = tok[18];
	privatPLZ = tok[19];
	privatOrt = tok[20];
	notizen = tok[21];
	besonderheiten = tok[22];
	sprachen = tok[23];
    }

    @Override
    public PatientDataset clone()
    {
	// Klont das Objekt und gibt es zur�ck
	PatientDataset cl = new PatientDataset(this);
	return cl;
    }

    public String getArbeitgeber()
    {
	return arbeitgeber;
    }

    public String getArbeitgeberTel()
    {
	return arbeitgeberTel;
    }

    public String getBesonderheiten()
    {
	return besonderheiten;
    }

    public String getGeburtsdatum()
    {
	return geburtsdatum;
    }

    public String getGeburtsdatumEhemann()
    {
	return geburtsdatumEhemann;
    }

    public String getMutterVater()
    {
	return mutterVater;
    }

    public String[] getNachname()
    {
	return nachname;
    }

    public String[] getNachnameEhemann()
    {
	return nachnameEhemann;
    }

    public String getNotizen()
    {
	return notizen;
    }

    public String getPrivatAnschrift()
    {
	return privatAnschrift;
    }

    public String getPrivatEMail()
    {
	return privatEMail;
    }

    public String getPrivatFax()
    {
	return privatFax;
    }

    public String getPrivatGSM()
    {
	return privatGSM;
    }

    public String getPrivatOrt()
    {
	return privatOrt;
    }

    public String getPrivatPLZ()
    {
	return privatPLZ;
    }

    public String getPrivatTel()
    {
	return privatTel;
    }

    public String getSprachen()
    {
	return sprachen;
    }

    public String getVersicherungsnummer()
    {
	return versicherungsnummer;
    }

    public String getVorname()
    {
	return vorname;
    }

    public String getVornameEhemann()
    {
	return vornameEhemann;
    }

    public void setArbeitgeber(String arbeitgeber)
    {
	this.arbeitgeber = arbeitgeber;
    }

    public void setArbeitgeberTel(String arbeitgeberTel)
    {
	this.arbeitgeberTel = arbeitgeberTel;
    }

    public void setBesonderheiten(String besonderheiten)
    {
	this.besonderheiten = besonderheiten;
    }

    public void setGeburtsdatum(String geburtsdatum)
    {
	this.geburtsdatum = geburtsdatum;
    }

    public void setGeburtsdatumEhemann(String geburtsdatumEhemann)
    {
	this.geburtsdatumEhemann = geburtsdatumEhemann;
    }

    public void setMutterVater(String mutterVater)
    {
	this.mutterVater = mutterVater;
    }

    public void setNachname(String[] nachname)
    {
	this.nachname[0] = nachname[0];
	this.nachname[1] = nachname[1];
	this.nachname[2] = nachname[2];
    }

    public void setNachnameEhemann(String[] nachnameEhemann)
    {
	this.nachnameEhemann[0] = nachnameEhemann[0];
	this.nachnameEhemann[1] = nachnameEhemann[1];
	this.nachnameEhemann[2] = nachnameEhemann[2];
    }

    public void setNotizen(String notizen)
    {
	this.notizen = notizen;
    }

    public void setPrivatAnschrift(String privatAnschrift)
    {
	this.privatAnschrift = privatAnschrift;
    }

    public void setPrivatEMail(String privatEMail)
    {
	this.privatEMail = privatEMail;
    }

    public void setPrivatFax(String privatFax)
    {
	this.privatFax = privatFax;
    }

    public void setPrivatGSM(String privatGSM)
    {
	this.privatGSM = privatGSM;
    }

    public void setPrivatOrt(String privatOrt)
    {
	this.privatOrt = privatOrt;
    }

    public void setPrivatPLZ(String privatPLZ)
    {
	this.privatPLZ = privatPLZ;
    }

    public void setPrivatTel(String privatTel)
    {
	this.privatTel = privatTel;
    }

    public void setSprachen(String sprachen)
    {
	this.sprachen = sprachen;
    }

    public void setVersicherungsnummer(String versicherungsnummer)
    {
	this.versicherungsnummer = versicherungsnummer;
    }

    public void setVorname(String vorname)
    {
	this.vorname = vorname;
    }

    public void setVornameEhemann(String vornameEhemann)
    {
	this.vornameEhemann = vornameEhemann;
    }

    public String toServerString()
    {
	String str = "";
	str += (versicherungsnummer + "#");
	str += (nachname[0] + "#");
	str += (nachname[1] + "#");
	str += (nachname[2] + "#");
	str += (nachnameEhemann[0] + "#");
	str += (nachnameEhemann[1] + "#");
	str += (nachnameEhemann[2] + "#");
	str += (vorname + "#");
	str += (vornameEhemann + "#");
	str += (geburtsdatumEhemann + "#");
	str += (geburtsdatum + "#");
	str += (mutterVater + "#");
	str += (arbeitgeber + "#");
	str += (arbeitgeberTel + "#");
	str += (privatFax + "#");
	str += (privatTel + "#");
	str += (privatEMail + "#");
	str += (privatAnschrift + "#");
	str += (privatGSM + "#");
	str += (privatPLZ + "#");
	str += (privatOrt + "#");
	str += (notizen + "#");
	str += (besonderheiten + "#");
	str += (sprachen + "#");
	str += "";
	return str;
    }

    @Override
    public String toString()
    {
	String ret = "Matricule:" + versicherungsnummer + ";";
	// Namen hinzuf�gen
	ret += " Name:" + nachname[0] + "; ";
	if (!nachname[1].equals(""))
	{
	    ret += nachname[1] + "; ";
	}
	if (!nachname[2].equals(""))
	{
	    ret += nachname[2] + "; ";
	}
	// Vorname hinzuf�gen
	ret += "Vorname: " + vorname;
	return ret;
    }
}
